import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

public class SimpleBCryptExample {
    public static void main(String[] args) {
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        
        // 常用密码示例
        String[] samplePasswords = {"admin123", "password", "nacos", "123456", "root"};
        
        System.out.println("=== BCrypt密码加密示例 ===");
        
        if (args.length > 0) {
            // 使用命令行参数
            String password = args[0];
            String encoded = encoder.encode(password);
            System.out.println("原始密码: " + password);
            System.out.println("加密结果: " + encoded);
            System.out.println("验证: " + encoder.matches(password, encoded));
        } else {
            // 显示常用密码的加密结果
            for (String password : samplePasswords) {
                String encoded = encoder.encode(password);
                System.out.println("密码: " + password + " -> " + encoded);
            }
        }
        
        System.out.println("\n=== 使用说明 ===");
        System.out.println("1. 将上述加密结果复制到Nacos配置文件中的密码字段");
        System.out.println("2. 每次运行生成的加密字符串都不同，这是正常现象");
        System.out.println("3. 可以通过命令行参数指定密码: java SimpleBCryptExample your_password");
    }
}